package metier.sess;

import java.util.List;

import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.PersistenceUnit;
import javax.persistence.Query;

import metier.entities.Annonceur;



@Stateless(name="An")
public class AnnonceurEJBImpl implements IAnnonceurLocal,IAnnonceurRemote{
	@PersistenceContext(unitName="PU_Cargaison")
	private EntityManager em;
	
	
	@Override
	public void addAnnonceur(Annonceur a) {
		em.merge(a);
		
	}
	@Override
	public List<Annonceur> getAllAnnonceurs() {
		Query req=em.createQuery("select a from Annonceur a");
		return req.getResultList();
	}
	
	@Override
	public List<Annonceur> getAllAnnonceursActive() {
		Query req=em.createQuery("select a from Annonceur a where a.Statut=true");
		return req.getResultList();
	}

	@Override
	public Annonceur getAnnonceur(Integer Id) {
		
		Annonceur an=em.find(Annonceur.class,Id);
		if(an==null)throw new RuntimeException("Annonceur introuvable");
		return an;
	}
	
	

	@Override
	public void updateAnnonceur(Annonceur a) {
		em.merge(a);
		
	}

	
	
	@Override
	public void deleteAnnonceur(Integer Id) {
		Annonceur a=getAnnonceur(Id);
		em.remove(a);
		
	}

}
